Copyright: Copyright Win Novation Informatique 1995


Dialogue Aboux
About...

About of this first version, thank you to register

Main index


Utilité de ce programme
Why and What ??

MAKHLP is a Windows Help Authoring Tools

MakHlp makes the necessary files to create a window's help( .hlp file). You must have the help compiler HC31.EXE produced by Microsoft(If you have a licence). You can find this file :
SDK31
COMPUSERV
many BBS of Microsoft
Ex: 	Luxembourg (32) 2-7350045  (HCP.ZIP)
England (44) 734 270065.

This help can be used by any program.

Although this program is able to create a help for all sorts of program, it's specially made for the users of the Visual C++, in this case the programmers can effectively directly link the menus and windows to get a context sensitive help (You must precise that at the generation by AppWizard)

See :How create a help

See :Example


Dialogue option projet
Edit options

Project name:

You have to give a name to your project for all code generation.

Content:

This field allows to specify the choosen index page when you ask the index of a help.

Title:

It's the title of the main window.

Copyright:

This field allows to display in the About box a personnal Copyright.

Icon Filename:

The name of the file ICON (.ico) used with the help is noticed in this field.

Directory name:

This fiel allows to specify the directory where the set of the files are generated.
Advice:it's better to use this field if you don't want that all the helps are in the same directory.

Error File:

The compilation errors are stocked in this file.

Compression & error options

The CDROM check box allows to specify the creation of a file optimized for CDROM access.
The choice compression allows to specify the performance of compression used for the bitmap.
The "RAPPORT" check box permit the creation of error's message.
The choice "Warning" allows to specify the level warning.

External Includes:

Il est possible d'inclure dans l'aide des fichiers includes externes pour des liens entre un programme et une aide.
If you want to create links between a program and a help, it's possible to include external file with the extension  .hm

External RTF

It's possible to include RTF files from other origins in the help file.

Menu dialog box


Boite de dialogue
Dialog Box of the programme

Dialog: general configuration

Dialog: general options

Dialog: Project Option

See dialog project option

Dialog: Visual C++ Options

 Visual C++ Dialog

Choice subject type

Dialog: Type choice

Topic edition

Dialog: Topic editing

Dialog:Subject editing

Subject editing

Dialog: subjects exchange

Dialog: subects exchange

About Box

 Dialog: About Box


Dialogue sujet
Edit subject

This dialog allows to edit a paragraph of a topic. It's possible to specify alignement, colors, font, and different margins. (left,right,before,after)

See Example

 Types :Titles, Sub Title and indented Text

Alignement possibilities: left,right,center
Indent1° line: it's the indentation of the first line of a paragraph
Check Box "end Para": incicate the end of the paragraph, else the next description will be on the same line.
Check Box "default style":after a paragraph end, it resore the default style for alignement.
Check Box "No Scroll": create a fied region in the top of the page. Take care: only the first desciptions  of the page can get the property.
Check Box "bar Vert":create a vertical bar at the left of the paragraph
Check Box "Cadre":create un cadre around the paragraph
Check Box "Fixe":create a fixed paragraph (not wrapped)

Les Types BitMapTexte et Saut

Alignement possibilities: left,right,center
Indent1° line: it's the indentation of the first line of a paragraph
Check Box "end Para": incicate the end of the paragraph, else the next description will be on the same line.
Check Box "default style":after a paragraph end, it resore the default style for alignement.
Check Box "No Scroll": create a fied region in the top of the page. Take care: only the first desciptions  of the page can get the property.
Check Box "bar Vert":create a vertical bar along the left of the paragraph
Check Box "Cadre":create un cadre around the paragraph
Check Box "Fixe":create a fixed paragraph (not wrapped)
The use of the check box  "picture on  the right" and "picture on line" is more ingenious.
"Picture on the right" allows to define a bitmap used with the text on the left of the bitmap. A similar result can sometimes be reached without checking this check box, but selecting a right alignement
Check box "picture on line" allows to announce a bitmap that will be interpreted like a caracter of a text. That means tha it will be aligned on the bottom.Take care: a bitmap with center alignment is automatically declared of type "picture on line"

The combo box on the left allow to define the type of links choosen.
For the moment the links are:nothing, jump, sound,popup
Jump:it's necessary to specify the name of the topic choosen.
Sound: You must select .WAV file
Popup:it's necessary to specify the name of the topic choosen.

Menu diaolog box


Menu Fabrique Tout
Build All

Build all the files


Générateur Lien Visual
Include VisualC++ file generation

This option build a XXX.hm file from the "resource.h" file of project.Standard MFC ID and the identificators of resources begin with a prefix:
Commands:        	ID_,IDM_
Prompts :         	IDP_
Resources:	IDR_
Dialogs:        	IDD_
Frame Controls:  	IDW_

The generated file is imported in the program and it's possible to link a topic to an identificator. For instance if IDD_ABOUTBOX is linked to a topic, when you press the "F1" key inside this box, the help is directly displayed on this topic.

Other generation


Les générateurs
Automatic code generation

 Include  Visual C++ generation

 RTF generation

 HPJ generation

 HLP generation


Générateur de RTF
RTF file generation

The topics of the program are converted in a RTF file. This format is used by the help compiler.

Other generation


Génération du HPJ
HPJ file generation

The HPJ file contains the description of the help project.

Other generation


Générateur HLP
HLP file generation

The .HLP file is created from .RTF and .HPJ files.
The help compiler HC31.EXE (deliver with SDK31 or available on compuserv and on some good BBS) compiles these files.

Utility of MAKHLP


Dialogue option Visual C++
Dialog:VisualC++ options

Differents ID types are possible : (AFX, controle, dialogue..)
If you don't want the maximum of choices in the ID's selection, it's possible to filter some types.
If checking the box "All", all imported identificators are in the combo box.

This box allows to disable the automatic generation of the include xxx.hm file from resource.h file (used by AppStudio).

 A Help file with no  Visual C++ link  must disable the link modification.

At each time you leave the dialog "options/project" and "options/Visual C++", the xxx.hm is analysed. If some HID_ used in the help are no more in the include files, a destruction of not used link is engaged. But just before this destruction process, a window prompt can cancel it. So  if you destroy by mistake the xxx.hm file all links are immediatly going to be destroy.

This box enables the automatic generation of 2 files:
- xxx.ind contains all Topic name:n ASCII+CR
- xxx.key  contains all Keywords: ASCII+CR
This is usefull for a program which can search the existence of a keyword before call winhelp.exe.
These files are not sorted and xxx.key may have double. The use of those files allows th avoid the classical Winhelp message:"Topic does'nt exist"

The selection of the resource file is obligatory to establish  links with a Visual C++ project.
Indeed, MakHlp extracts the xxx.hm file from the resource.h file used by AppStudio.

The directory of the afxhelp.hm file is obligatory to see links of MFC

Menu dialog box


Charger dernier fichier
Open recent file

open 4 last files used


Menu About

About Dialog


Dialogue options générales
General options dialog

This dialog box allows to define the default margins of the main paragraphs. These values are saved in the .ini of the program. Any modification in this file can be fatal. In this extreme case, it's necessary to clear the suspect lines or all the file.

Menu dialog box


Dialogue échange sujets
Exchange of Subjects

Dialog box menu


Dialogue choix du type
Selection of subect type

Text of  type TITLE,font: MS SERIF ,Size:24 ,bold

Text of   type Sub TITLE,  font MS SERIF , Size 18 , bold

Indented text , font MS SERIF ,size 10

Normal  text , font MS SERIF ,size 10

Select a bitmap. A click on the picture can produce:
- jump to another topic
- play a sound(select a .WAV)
- open a window Popup

Select a text, a click on this can produce:
- jump to another topic
- play a sound(select a .WAV)
- open a window Popup

Menu dialog box


Dialogue Edition Groupe
Topic edition

The field  "Name" allows to specify the topic name, it's a internal name that will only appear in the combo box of link. Only the caracters between a et z are authorized.

The fied "title" indicate the name that will be show in the research box of winhelp.exe.

The choice of the reference allows to link a topic with a context sensitive identificator  (menu, dialog, window ...)

The keywords are used in the search dialog of winhelp.exe.They allows to look for a very special subject in the help file. It's possible to enter several keywords for one topic.


Ouvrir un fichier
Open file

Open a existing file


Menu Fichier Nouveau
Menu New file

Empty the document


Menu Fichier Sauver
Save file

Save the document


Menu fichier Sauver Sous
Menu Save file as

Save the document with a new name


Menu  Configuration imprimante
Print setup

Configure the printer


Menu Fichier Quitter
Quit program

Program's end


Menu Voir Tools Bar
Tools Bar

Hide or show the tools bar


Menu Vues Status Bar
Status bar

Hide or show the status bar


Menu test help
Help Test

Allows to test the help in developpement


Menu Echange de sujets
Exchange subject between topics

Display a dialog transfering subject between topics


Menu Options Generale
Menu general options dialog

Display the dialog for the optionsSee general options dialog


Menu Options projet
Menu dialog of Projects options

Display a dialog editing project optionsSee Project Option dialog


Menu Options Visual C++
Menu Dialogue of Visual C++ options

Display the  dialog editing the Visual C++ optionsSee Visual C++ option dialog


Aide Contextuel
Contextual Help

Pushing this key displays the contextual help on that you show.


Menu Index de l'aide
Menu Help Index

With this menu you directly enter on the help index


Menu Utilisation de l'aide
Menu Use Help

Help on the help


Futures extensions
Future Improvements

If this program is sucessful, I can see more extensions:

- context sensitive generation pour Visual Basic
- context sensitive generation pour BC4++
- JUMP inter file HLP
- MACRO definition
- Prévisualisation
- Import RTF files
- better editor
- Definition of global link

et vos idées.............................


Utilisation source aide
Utilisation de la source de l'aide

Pourquoi les sources ?

J'ai fourni les sources de l'aide de MAKHLP uniquement dans le  but de laisser l'utilisateur éxaminer les différents aspects de la création d'une aide avec ce programme. Si vous voulez le recompiler vous renconterez quelques problèmes. Déjà le nom de répertoire des fichiers bitmap correspond à ma machine de développement et dans la boite de dialogue "OPTIONS/PROJET", il faut redéfinir des chemins valides. Si le fichier "makhlp.hm" n'est pas au bon endroit vous aurez aussi droit à l'apparition d'une "Message Box" demandant de confirmer l'effacement des références. C'est normal la vérification des liens est effectuée  à chaque fois que vous validez les dialogues "OPTIONS/PROJETS" et "OPTIONS/Visual C++", si le fichier MAKHLP.HM est absent les liens peuvent ètre ainsi détruits.

Compiler les sources

Le plus simple est de copier l'ensemble des fichiers et sous répertoire dans F:\DEV\MAKHLP. Puis de sélectionner dans "OPTIONS/Visual C++" le fichier afxhelp.hm si vous ètes possesseus d'une édition Visual C++.
Sinon il faut:
- éditer le nom de bitmap un par un et mettre le nouveau répertoire
- spécifier l'emplacement du fichier makhlp.hm
- spécifier l'emplacement du projet


How to update the references
How to update references

The references are read in .HM file, this file must exist.

HM File creation

- this file can be manualy created with a text editor
- this file can be automatically created from Visual C++ projects or Visual Basic projects.

Visual C++

You must:

1- Indicate in menu  "OPTION/PROJECT" the project type:Visual C++
2- Check in menu "OPTION/VISUAL C++" the case wich allows the links modification
3- Choice the menu "Build\Build Visual Include HM"
4- Now the .HM file exist, but the new references are not automatically updated in the references list (to avoid destructions errors because of ID lost), So you must go in the menu "OPTION/VISUAL C++" and do "OK".

Visual Basic

You must:

1- Indicate in menu  "OPTION/PROJECT" the project type:Visual Basic
2- Check in menu "OPTION/VISUAL BASIC" the case wich allows the links modification
3- Choice the menu "Build\Build Visual Include HM"
4- Now the .HM file exist, but the new references are not automatically updated in the references list (to avoid destructions errors because of ID lost), So you must go in the menu "OPTION/VISUAL  BASIC+" and do "OK".


How to build a Visual Basic Help
Build a Aide Visual Basic help

Visual  Basic  Help

This new version can build automatically a Visual Basic Help..

Use of the generator

A help skeleton can be generated from a Visual Basic Project.

See: automatic generator

Normal Visual Basic project

A Visual Basic project is now treated as a Visual C++ project. The .frm files are analysed and the field HelpContextID is extracted from the controls if his value is not null(the .HM file contains the list of the values).

See: Visual Basic example

How to update the references


Comment faire une aide C++
Build a Visual C++ Help

Visual C++ Help

First Step

- create a new empty document
-In menu Options/Projet:
Absolutly necessary:
-enter the project name t (name f the .HLP file)
-choose the work directoryl (for files .RTF, .HPJ and .HM)

Step 2 (Optional)

You can forget this step if the help is not linked to a Visual C++ project.

You must specify links options in the menu Options/Visual C++, select the resource.h file used by AppStudio, select the afxhelp.hm (probably located in MSVC\MFC\INCLUDE) witch contains all
MFC idenficators.
To allow the creation of the .HM file, it's necessary to check the first check box:"Allow links modifications". You can avoid manipulations errors by uncheck this choice.

Seel: Dialog Box C++ options

Step 3

You must now use the editor. The left list contains the topics and the right list contains paragraphes for each topic.
.

See typical example

How to update references


Dialogue Double ID VB
Dialog:search double in ID

With this dialog, you can see witch ID is used twice in the .FRM files. Two controls can access the same help.


Dialogue attributs
Dialog: Windows attributes

With this dialog box you can modify the placements and colors atributes of the main and Second windows. The main windows must be named "main".

:do a full screen window

:do a topmost window.

:definition of the background color(in the main window you use the default color )

:definition of the no-scroll region color(in the main window you use the default color )

:size and position definition.(no more than 1023)


Dialogue Texte Global
Dialog: Global text definition

This dialog box is used for the definition of the global string accelerator.

"Global string": input string to process
"case sensitive": if checked distinguish capital letter/small letter.
"default color": if checked the string color will be the color of the paragraph.

The buttons Add/Change/Delete are used for string management. When a list item is modified you must push the Modify buttons to update the changes.


Dialogue option pour VB
Dialog: Visual Basic Options

With this dialog you can specify 3 options for the management of the Visual Basic project.

Allows links modifications: if checked it's possible to create (or update) the .HM file.

Prompt before delete no attached reference: if checked a dialog box with the list of no attached references is shown. You can decide to delete this references.

Build text index: if checked a .IND file is created wich contains the key words used.


Dialogue Choix classe VBX
Dialog: Class selection for VBX

Utility:

With this dialog you can select a VBX file so that the program generates the help of the control.

How to generate a VBX help:

1) Choice a VBX file (button VBX Choice)
2) Select the chosen classes(from left to right)
3) Optional: prefix redefinition
4) start the generator "START CREATION"


Exemple Type
Typical Example

Use the option "picture on line"
When this option is checked, the bitmap is considered as a character.

 Choice 1 Popup	 Choice Window 2

test+2TAB	BitMap aligned

Normal text, it's can be left,right,center alignedJump in center onThe example window 2,it's really un good example with a box around the paragraph

Idented normal text with un vertical bar on the left, the indentation is 1 cm on the first line

This is a normal text but it has got the "fixed atttribut", that means that it won't be cut at the time of the sizing main window.
Only a return can impose a new line

This the beginning of a text with a bitmap [image] just a the middle of a line of text


Exemple Fenetre 1
Window 1  Popup

small  bitmap without  action


Exemple Fenetre 2
Example window 2

Sound example


Exemple Visual Basic
Visual Basic Exemple

It's possible to link a visual basic application with a help file. But You must type yourself the file ".hm" witch contains the HelpContextID. I made a small example named "VBASIC.EHE" with only one sensitive context window. The context ID associated to this window is 10, I've named it TEST_FEN1 in the file VBASIC.HM


Index général
Main  Index of MakHlp

 What is the program fonction ?

 How to create a help

 Program dialog boxes

 Code génération

 Classical example

 Visual C++ Example

 Visual Basic Example

 Future improvements

 News


Fenetre principale
Main Window

This program is a shareware. That mean's that it's not free. If you use it and if you enjoy it, you have to send me your modest contribution.
You'll then receive the last registred version and the future updates.
All your suggestions are wellcome

To register you, read the REGISTER.TXT given with the program

INDEX


How to build a help
BUILD a HELP File

First Part

-Begin with a new document
-Menu Options/Project:

- project name  (it's the name of the future help file)
- select works directory (for files  .RTF, .HPJ and .HM)

Part Two

If your project isn't a Visual C++ project you can jump this part

You must specify link options with the Visual C++ project. So you select the menu Options/VisualC++".
You must first select the resource file "resource.h" used by AppStudio.
Then select the file afxhelp.hm in the MFC directories (dans MSVC\MFC\INCLUDE).
To create the file "fichier .hm", it's necessary to check the first check box :"Allow  link modification".

See dialog Visual C++ options

Third Part

You must now work in the editor, good luck

See Example


Open a file
Dialog: Open a file

This dialog allow the selection of a file


Save a file
Dialog: Save file

This dialog allow to save a file


Font choice dialog
Dialog:Font choice

This dialog allow you to choice types ,sizes and colors


compileur choice
Help Compiler Choice

The default help compiler called is hc31.exe. You can use HCP.EXE but you have to modify the file HCMAK.PIF with the program PIFEDIT. (This programs needs a Microsoft License, Microsoft is a trad Mark))


Fenêtre d'édition
Edit Window

INDEX


Nouveautés
News

1) Copy/Paste of topic between two projects

2)  multiple selection in subjects exchanges

3) Topic or subject edition by pressing the ENTER key

4) Multiple context id to the same topic

5) Visualisation of non linked references

6) new macro (command execute)

7) Look 3D


Wizard Basic
Wizard Basic generator

Introduction

This new version contains new features:automatic creation of Visual Basic Help. A no null "HelpContextID" indicates un reference used in .HM file.

How to do ?

1) Write positive numbers different in the fields "HelpContextID".

2°) Save the form in text format

3) execute  MAKHLP
4) Open a new project
5) optional:option choices for paragraphes
6) go in menu PROJET/BASIC WIZARD/GENERATION BASIC WIZARD
7) type the name of the BASIC project ".MAK"
8) Now all is automatic:
-  document name
-  project name
-  works directory
- project type (Visual Basic)
- project .MAK name in the dialog Option/Visual Basic
- the .HM file is builded automatically
9)BUILD ALL


Wizard VBx
Wizard VBX generator

Introduction

This new version contains new features:automatic creation of VBX Help from a VBX wich supports VB 1.0